import com.wangshidai.entity.Student;

import java.lang.reflect.Field;

public class Demo01 {

    public static void main(String[] args) {


        try {
          /*   第一种获取反射对象的方式 通过 包路径
              String path="com.wangshidai.entity.Student";
              Class clazz= Class.forName(path);
           */
              /*第二种 访问class属性*/
//             Class clazz=Student.class;
            /**
             * 第三种获取反射对象的方式      获取反射对象的目的通常都是想动态创建指定的类的对象获取/调用对象中的属性、方法
             */
            Student student =new Student();
            Class clazz = student.getClass();
            //创建student对象
            Student stu= (Student) clazz.newInstance();
            //获取age属性
            Field ageField = clazz.getDeclaredField("age");
            System.out.println(ageField);
            //强行破解private访问权限
            ageField.setAccessible(true);
            ageField.set(stu,28);



            System.out.println("文件加载成功");
        } catch (Exception e) {
            System.out.println("文件不存在");
            e.printStackTrace();
        }


    }
}
